export interface loginParam {
  username: string;
  password: string;
}

interface tagsArray {
  [index: number]: string;
}

export interface getChainConnListParam {
  chain_name?: string,
  con_state?: number,
  create_user?: string,
}
// reqParam = {"ids": [], "param": {}, "op_type": ''};
interface idArray {
  [index: number]: string;
}
interface nodeListObj {
  node_name: string,
  node_addr: string
}
interface nodeListItem {
  [index: number]: nodeListObj
}
export interface chainParamArray {
  chain_id: string,
  chain_name: string,
  node_list: nodeListItem,
  auth_type: string,
  crypto_hash: string,
  crypto_config: string,
}

export interface operateChainConnParam {
  ids: idArray;
  param: chainParamArray;
  op_type: string;
}

export interface getTestCaseListParam {
  testcase_id: string;
  testcase_name: string;
  module: string;
  testcase_version: string;
  testcase_tags?: tagsArray;
  priority: string;
  last_status: string;
  create_user: string;
  create_time: string;
}
interface testCaseParamArray {
  chain_id: string,
  chain_name: string,
  node_list: nodeListItem,
  auth_type: string,
  crypto_hash: string,
  crypto_config: string,
}
export interface operateTestCaseParam {
  ids: idArray;
  param: testCaseParamArray;
  op_type: string;
}


interface testPlanParamArray {
  testcase_id: idArray,
  testplan_name: string,
}
export interface operateTestPlanParam {
  ids: idArray;
  param: testPlanParamArray;
  op_type: string;
}